The present invention relates to methods, devices, systems, and computer-readable media for transmission (“Tx”) drivers in Serializer/Deserializer (“SerDes”) environments. Tx drivers in SerDes environments must fulfill system and/or user requirements. These requirements ensure proper behavior of the system and the most efficient, or most responsive, Tx driver. One requirement is that transmission via the Tx driver cannot begin until the transmitter is coupled to the end-receiver. The end-receiver often includes a resistor connected to a channel that couples the Tx driver to the receiver. This resistor is known as a “Rx termination.”
Once a connection is established between the Tx driver and the receiver, the Tx driver must be configured to sufficiently match an input impedance of the receiver, for example, the impedance of the Rx termination, and to provide an output signal having an amplitude sufficient to carry the transmitted data. To match the impedance, some conventional methods have introduced calibration and/or tuning circuits. In addition, the Tx driver must generate a signal having an amplitude of the appropriate settled voltage value as quickly as possible without drawing too much power.
When a short unit interval (“UI”) is associated with data having an expected high level and is followed by a subsequent UI associated with data having an expected low level, the transmitted data typically exhibits amplitudes that do not meet the expected targets. To complicate matters, the channels situated between the output stage of the Tx driver and the receiver introduce attenuation. The attenuation introduced into the signal traversing the channel generally varies based on the frequency of the transmission. As such, because a transmitted signal comprises several frequency components, and because attenuation of these various components is uneven due to the frequency dependency of the channel loss, this signal becomes distorted. This distortion is also known as inter-symbol interference (“ISI”), in which signals from past and future transmitted UIs may blend and interfere with the currently transmitted UI, affecting its signal amplitude. Any of the physical matter used for transmission is considered a channel and is capable of introducing attenuation. As an example, conductive tracks, pads, and traces on a printed circuit board (“PCB”) as well as a cable situated between a Tx driver and a receiver qualifies as a channel capable of introducing signal attenuation.
There are several conventional approaches to counteracting signal attenuation and signal integrity issues in a transmission system. Modern, high speed Tx drivers employ differential signaling, in which a data signal is transmitted by driving two channel wires with voltages of equal magnitude but opposite sign (also known as polarities). This signal is recovered differentially on the receiving end by subtracting the voltage of each of the two polarities. Ideally, during this process the common-mode portion of the signal, which is half the sum of the voltages for each polarity, should remain as constant as possible.
It is known that the output stage of a Tx driver needs to present a constant impedance matched to the channel and receiver it drives, in order to minimize reflections and maximize signal integrity. Assuming the Tx driver comprises several sub-driver elements (referred to as segments) of a higher unit impedance, the output impedance of the Tx driver is at first calibrated by enabling or disabling segments. The target Tx driver output impedance is reached when a sufficient number of these segments are enabled in parallel. This requires the Tx driver to incorporate enough segments for the case where the segment impedances are relatively high (such as in slow process conditions).
Some methods recognize that the Tx driver output stage can serve as an equalizer by blending data from different transmission cycles. Such methods introduce the option of driving emphasis data from an earlier UI (post-cursor) and/or from a subsequent UI (pre-cursor) in an attempt to achieve settled voltage values in a more reliable manner. This approach is known to reduce ISI: indeed, by introducing, as necessary, pre-cursor emphasis and/or post-cursor emphasis into the channel, the signal amplitude is representative of a voltage level closer to the expected voltage level. Post-cursor emphasis is introduced by blending the main data signal stream with a delayed version of the main data signal stream (known as post-cursor data). Pre-cursor emphasis is introduced by blending the main data signal with an advanced version of the main data signal stream (known as pre-cursor data). In addition, the final signal has conventionally been subjected to weighting criteria for each of the UIs. For example, a final data signal could be described as C−1*(Pre-cursor data)+C0*(Main data)+C1(Post-cursor data), where C−1, C0, and C1 are weighting coefficients. Manipulation of the data in this manner may compensate for the effects of channel attenuation. The process of blending the main data signal with emphasis data signals to equalize the output of the transmitter is known as de-emphasis.
While de-emphasis is used to compensate for uneven channel loss over frequency, some standards may also prescribe overall swing adjustments (which are independent of frequency), as signaling over short channels at full amplitude may overwhelm the far-end receiver and degrade performance. Some systems refer to this adjustment as “margining”, which involves the process of dialing up or down the signal amplitude to an expected voltage level. Depending on the driver architecture, margining can be more or less easily achieved, with variable impact on overall performance.
An output stage of a voltage-mode Tx driver is configured to drive channels either via a pull-up resistor to a positive supply rail voltage (VDD) or to a ground rail via a pull-down resistor, where the value of that resistance tries to match the characteristic impedance of the driven channel to minimize reflections. In a differential driver structure, two such output stages operate in parallel: they produce voltages that swing in opposite directions, and the overall voltage amplitude at the driver output is measured by taking the difference of these voltages. A voltage-mode Tx driver is usually segmented (i.e., built around parallel segments of higher impedance value), and the driver's impedance can be adjusted by turning on or off some of these individual segments. When implementing de-emphasis, some of the segments drive a delayed or advanced version of the bit stream to create constructive or destructive interference with the main data pattern. The number of segments assigned to de-emphasis is a function of the C0, C1 and C−1 coefficients.
One way to implement margining involves decreasing the overall number of turned-on segments. This approach doesn't maintain the driver's output impedance constant. For example, if the receiver has a termination impedance of 100Ω, a Tx driver output stage meeting the generally recognized impedance matching criteria could achieve a maximum peak (differential) swing at V0 (the initial voltage at the output) of VDD/2. This is because V0=[100Ω/(100 Ω+100Ω)]*VDD. To implement margining, this approach may decrease the maximum amplitude at V0 to VDD/4, for example, by increasing the impedance at the output stage (e.g., V0=[100Ω/(300 Ω+100Ω)]*VDD). If an increase in the maximum amplitude were desired, at V0 to 3VDD/4, for example, the impedance at the output stage could be decreased (e.g., V0=[100Ω/(33.33 Ω+100Ω)]*VDD). Manipulation of the impedance at the output stage, however, is undesirable because the output impedance should be kept as constant as possible.
Other margining approaches have a portion of the driver segments of a given polarity drive in opposite directions (e.g., drive an inverted version of the C0 bit stream), making the signal swing smaller through destructive interference while maintaining the output impedance constant. With this scheme however, the transmission increases the dissipation of power. Margining in this scenario is particularly inefficient for data signals having smaller amplitudes.
For current mode logic (“CML”) type drivers, swing may be dialed down simply by decreasing the tail current of the differential pair. The driver output impedance remains mostly unaffected by this operation. However, CIVIL drivers are un-appealing from a power standpoint, as they nominally burn four times as much power as a voltage mode driver operating at full swing at equivalent power supply conditions.
FIG. 1 illustrates a circuit 100 which, when combined with several other identical or similar circuits, implements a conventional approach to transmit data signals from a Tx driver output stage. Circuit 100 is a driver segment that has a differential structure with a P-side and an M-side, and constitutes a building block of, for example, an H-bridge circuit of a Tx driver. On the P-side, the driver segment 100 includes a P-type MOSFET (e.g., 102) and an N-type MOSFET (e.g., 104). On the M-side, the driver segment includes a P-type MOSFET (e.g., 106) and an N-type MOSFET (e.g., 108). Each of the MOSFETs has, connected as an enable to its respective gate, a corresponding pre-driver (e.g., pre-drivers 120, 122, 124, and 126).
Driver segment 100 further includes a transmission gate 114, made up of PMOS 118 and NMOS 116, that is used to shunt driver outputs OUT_P and OUT_M whenever the driver segment is configured to perform margining, thereby reducing the output amplitude. Each of the P-side and the M-side further includes a resistor: resistor 110 and resistor 112, respectively. When performing margining, the conventional approach in circuit 100 establishes a virtual ground, or a differential ground, between the P-side and the M-side. By so doing, the output node (OUT_P or OUT_M) voltages of a single driver segment taken by itself become uncertain and floating—the only certainty is that OUT_P and OUT_M are at the same potential. When several driver segments are interconnected, voltages at OUT_P and OUT_M are a function of the number of segments configured to transmit data versus the number of segments configured to perform margining. From a differential mode perspective, the impedance of the Tx output driver is maintained relatively constant. On the other hand, the common-mode impedance increases with the number of segments configured for margining. Therefore, the common-mode impedance varies depending on how many additional segments are activated for margining. When all segments are configured with their shunt path active, the common-mode impedance becomes very high and the absolute potentials at OUT_P and OUT_M are mostly governed by transistor leakage currents. Some SerDes environments impose maximum or minimum common mode impedances, while others only set differential impedance constraints. Therefore, this conventional approach using circuit 100 cannot meet the impedance requirements in all SerDes environments and operating conditions. In addition, the conventional approach of circuit 100 is unreliable when OUT_P or OUT_M are close to VDD/2.
The currently available methods, systems, and devices that tune the impedance at the output stage do not adequately maintain both signal integrity and power efficiency. These conventional methods and their associated circuit configurations each have failings. Some of the conventional methods lack controllability (and therefore, tuning accuracy). Other conventional methods do not allow for matched impedances, which detract from signal integrity. Still other conventional methods provide more reliable signals, but burn through power at low signal swings. Therefore, there is a need for methods, systems, and devices that are capable of reliably tuning the Tx driver output stage to match the input impedance of the receiver while maintaining signal integrity and power efficiency. In addition, such methods, systems, and devices could beneficially introduce circuit tuning and variation with minimal power expended in order to efficiently allow for the Tx driver output stage to be used with a variety of receiver circuits and with a variety of SerDes environment requirements.